-- Text File1
-- Author: AAAAAAAAAA
-- DateCreated: 8/17/2025 10:18:45 AM
--------------------------------------------------------------

function Gyuudon_GetDamage(playerID)
    local pPlayer = Players[playerID]
    if pPlayer:GetCivilizationType() == iCiv then
    for city in pPlayer:Cities() do
        if city and city:IsHasBuilding(buildingGyuudon) then
            local iNumDummyDamageBuilding = city:GetNumRealBuilding(buildingGyuudonXP)
            if iNumDummyDamageBuilding >= 50 then return end
            if city:GetDamage() > 0 then
                local iDamage = city:GetDamage()
				local iMaxHitPoints = city:GetMaxHitPoints()
                local iHitPointsPercent = (iDamage / iMaxHitPoints) * 100
             if iHitPointsPercent >= 1 and iHitPointsPercent < 50 then
                    iNumDummyDamageBuilding = iNumDummyDamageBuilding + 1
                elseif iHitPointsPercent >= 50 and iHitPointsPercent < 95 then
                    iNumDummyDamageBuilding = iNumDummyDamageBuilding + 2
                elseif iHitPointsPercent >= 95 then
                    iNumDummyDamageBuilding = iNumDummyDamageBuilding + 3
                end
            end
				if iNumDummyDamageBuilding > 0 then
					if iNumDummyDamageBuilding > 50 then
						iNumDummyDamageBuilding = 50
					end
					city:SetNumRealBuilding(buildingGyuudonXP, iNumDummyDamageBuilding)
				end
			end
        end
    end                         
end

function Gyuudon_DamageXP(iOwner, cityID, unitID, bGold, bFaithOrCulture)
	local mathCeil = math.ceil
    local pPlayer = Players[iOwner]
    if pPlayer:GetCivilizationType() == iCiv then 
    local city = pPlayer:GetCityByID(cityID)
    if (not city) then return end
	if (not city:IsHasBuilding(buildingGyuudon)) then return end
	local iNumDummyDamageBuilding = city:GetNumRealBuilding(buildingGyuudonXP)
	--if iNumDummyDamageBuilding <= 0 then return end
	local iXPBonus = mathCeil(iNumDummyDamageBuilding / 2)
	local unit = pPlayer:GetUnitByID(unitID)
		if unit and unit:IsCombatUnit() then
			unit:ChangeExperience(iXPBonus)
		end
    end
end   

<Building_DomainFreeExperiences>
		<Row>
			<BuildingType>BUILDING_GYUUDON_XP</BuildingType>
			<DomainType>DOMAIN_LAND</DomainType>
			<Experience>5</Experience>
		</Row>
		<Row>
			<BuildingType>BUILDING_GYUUDON_XP</BuildingType>
			<DomainType>DOMAIN_SEA</DomainType>
			<Experience>5</Experience>
		</Row>
		<Row>
			<BuildingType>BUILDING_GYUUDON_XP</BuildingType>
			<DomainType>DOMAIN_AIR</DomainType>
			<Experience>5</Experience>
		</Row>
	</Building_DomainFreeExperiences>